using System;
using System.Collections.Generic;
using PathX;
using UnityEngine;

namespace Pvp.Stage
{
    [Serializable]
    public class StageLogicData : ScriptableObject
    {
        [SerializeField]
        private int stageId;

        [SerializeField]
        private List<StageBoxItem> _stageBox;
        [SerializeField]
        private List<StageGearItem> _stageGear;
        [SerializeField]
        private List<StageNpcItem> _stageNpc;
        [SerializeField]
        private List<StageMonsterItem> _stageMonster;
        [SerializeField]
        private List<StageResGatherPointItem> _stageGatherPoint;
        [SerializeField]
        private List<StageBirthPointItem> _stageBirthPoint;
        
        private PathX.CellMatrixData _stagePathMatrix;

        public StageLogicData()
        {
            _stageBox = new List<StageBoxItem>();
            _stageGear = new List<StageGearItem>();
            _stageNpc = new List<StageNpcItem>();
            _stageMonster = new List<StageMonsterItem>();
            _stageGatherPoint = new List<StageResGatherPointItem>();
            _stageBirthPoint = new List<StageBirthPointItem>();
           // _stagePathMatrix = new CellMatrixData();
        }

        public List<StageBoxItem> stageBox => _stageBox;
        public List<StageGearItem> stageGear => _stageGear;
        public List<StageNpcItem> stageNpc => _stageNpc;
        public List<StageMonsterItem> stageMonster => _stageMonster;
        public List<StageResGatherPointItem> stageGatherPoint => _stageGatherPoint;
        public List<StageBirthPointItem> stageBirthPoint => _stageBirthPoint;
        public PathX.CellMatrixData stagePathMatrix => _stagePathMatrix;
    }
}